Mitigating service disruptions using mobile prefetching based on predicted dead spots

ABSTRACT

An approach to downloading content to a mobile device based on predicted service disruptions to avoid a loss of access to content. The service disruptions to wireless network connectivity can occur due to network dead spots, such as those occurring on a highway, in a tunnel, under a bridge or in a building. Embodiments monitor current and historical mobile device usage and historical wireless service data to form a history and generate a predictive model that makes predictions regarding anticipated dead spots and the types and quantity of content that will be requested during the dead spots. Decisions based on the predictive model can be made automatically by embodiments, such as when to start downloading content prior to entering a dead spot and how much content and what types of content will be downloaded based on predicted user requests.

BACKGROUND

The present invention relates generally to the field of mobile servicedisruptions, and more particularly to content prefetching based onpredicted dead spots.

Interruptions to cellular service, known as dead spots, can occur formobile device users when entering a zone where cellular service is outof range of a cellular data transmitter (i.e., a cell tower), or wheresome material in the environment is interfering with the signaltransmitting the data. In order to avoid a loss of accessibility tocontent, such as data available from the internet, the content can beretrieved and stored in local memory prior to the loss of cellularservice so that a mobile device user can have uninterrupted access tothe content even while in a dead spot.

SUMMARY

According to one embodiment of the present invention, a method fordownloading content to a mobile device based on predicted servicedisruptions is provided, the method comprising: monitoring usage of amobile device to form a history of usage and disruptions to a wirelessservice based on a user routine; generating a predictive model based onthe history of usage and disruptions to the wireless service; utilizingthe predictive model to identify one or more types and a quantity ofcontent to download before a predicted service disruption; anddownloading the content to the mobile device before the predictedservice disruption. A corresponding computer program product andcomputer system are also disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A-B is a functional block diagram illustrating a distributed dataprocessing environment and a functional block diagram depictingcomponents of a content prefetching program, respectively, in accordancewith an embodiment of the present invention;

FIG. 2 is a flowchart depicting operational steps of a contentprefetching program, in accordance with an embodiment of the presentinvention;

FIG. 3 illustrates an example use case of a content prefetching program,in accordance with an embodiment of the present invention; and

FIG. 4 sets forth a generalized architecture of computing platformssuitable for at least one embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that disruptions tocellular service caused by “dead spots” in a wireless cellular or Wi-Finetwork can lead to reduced productivity by mobile device users due toan unavailability of web based content, such as, for example, email orbusiness applications using data from the internet. These dead spots maybe due, for example, to the mobile device being out of range of anynearby network transmitters, the wireless signal being blocked by somematerial in the surroundings of the device (e.g., under a bridge, in atunnel or a building, etc . . . ), planned service and/or utilityoutages and adverse weather conditions. With this in mind, embodimentsof the present invention provide an efficient solution to this problemwherein wireless network dead spots are predicted ahead of time and thetype and quantity of content that a mobile device user will requestduring that time is predicted, prefetched (i.e., downloaded ahead oftime) and then deleted from the device after leaving the dead spot andresuming regular network access. This can be accomplished by anintelligent learning system that can analyze factors such as historicalservice data for the mobile device and historical content usage by themobile device user, both of which can be based on regular routines ofthe mobile device user.

Embodiments of the present invention provide a solution that isefficient with respect to wireless data usage, memory capacity andbattery life for a mobile device, which are important considerations formobile device users. The intelligent learning system monitors mobiledevice usage and historical service data and makes adjustments to thepredicted content needs of the user in order to provide just as muchcontent as needed in a dead spot while preventing excess dataconsumption and memory allocation and conserving battery life.

It should be noted that although the disclosure provided herein refersto embodiments primarily as they apply to wireless cellular networks,other embodiments can be configured to work with other wireless networksthat involve data transfer, e.g., a Wi-Fi network. Further, the term“prefetch” used herein is meant to be interchangeable with “download,”i.e., content that is “prefetched” is downloaded prior to the occurrenceof a dead spot.

The present invention will now be described in detail with reference tothe figures. FIG. 1A is a functional block diagram illustrating adistributed data processing environment 100, in accordance with oneembodiment of the present invention. Distributed data processingenvironment includes computing device 102 and server 108, interconnectedover network 106.

Computing device 102 can be a laptop computer, tablet computer, netbookcomputer, personal computer (PC), a desktop computer, a personal digitalassistant (PDA), a smart phone, or any programmable electronic devicecapable of communicating with server 108 via network 106. Computingdevice 102 comprises content prefetching program 104, which predictswhen computing device 102 is entering a dead spot, predicts the durationof time that will be spent in the dead spot and prefetches the type andquantity of content from server 108 that is predicted to be requested bythe user. Content prefetching program 104 can be a component ofcomputing device 102 or can be downloaded as an application via network106 and can be in communication with other applications on computingdevice 102 and have access to system level data that can be analyzed formaking predictions. Computing device 102 can include internal andexternal hardware components, as depicted and described in furtherdetail with respect to FIG. 4.

Network 106 can be, for example, a local area network (LAN), a wide areanetwork (WAN) such as the Internet, or a combination of the two, and caninclude wired, wireless, or fiber optic connections. In general, network106 can be any combination of connections and protocols that willsupport communications between computing device 102 and server 108.Server 108 can be any computer system such as, but not limited to, a webserver for a particular web site, that serves requests for web basedcontent.

FIG. 1B is a functional block diagram 150 illustrating components ofcontent prefetching program 104, in accordance with an embodiment of thepresent invention. Content prefetching program 104 comprises predictivemodeling subsystem 110 and content management subsystem 112. Predictivemodeling subsystem 110 can communicate with other applications oncomputing device 102 and have access to system level data related to,for example, historical cellular service data and historical applicationand/or content usage, which can be based on daily routines of the userof computing device 102. Predictive modeling subsystem 110 monitors thesystem level data to determine dates and times that certain applicationsare used and/or a certain type and quantity of content is requested bythe user and can also determine dates and times when cellular servicehas been lost and the duration of time for which it was lost.Altogether, this information can be used to generate a predictive modelthat has formed a history of device usage and service disruptions topredict when, on a given day, the user on computing device 102 is goingto enter a dead spot, how long they will remain in that dead spot andwhat type and quantity of content will be downloaded ahead of time,i.e., prefetched, while they still have cellular service. Predictivemodeling subsystem 110 can also decide how far in advance of entering adead spot (e.g., 5 minutes, 10 minutes, etc . . . ) that contentdownload must begin in order to fetch the quantity of content that hasbeen predicted the user will need.

Content management subsystem 112 is configured to communicate withpredictive modeling subsystem 110 and prefetch and manage theappropriate content that predictive modeling subsystem 110 has predictedthe user will need in a dead spot. Content downloaded by contentmanagement subsystem 112 can be stored on local memory, such as, but notlimited to, cache memory, and it should be noted that local memory canrefer to any form of data storage on computing device 102. Contentmanagement subsystem 112 is further configured to detect when computingdevice 102 is out of a dead spot and resumes normal access to thecellular network, in which case the downloaded content can beautomatically deleted from local memory.

Some examples of types of content that can be prefetched by embodimentsof the present invention can include, but are not limited to, text,images, videos, style sheets, JavaScript, documents and e-books.Further, the content that is prefetched can be based on the currentusage of computing device 102 by a user, such as for open and/or activeapplications. For example, a user may be browsing a certain web page butis predicted to shortly be entering a dead spot. In such an instance,linked web pages (available via URLS on the web page) and resources(e.g., images) on the web page and/or any linked web pages can bepreemptively downloaded, in anticipation that the user may wish to haveaccess to them when the network outage occurs. This preemptivedownloading based on current device usage can be configured to occurautomatically or can be manually initiated by the user or managed bypreferences set by the user.

It should also be noted that a user can create a prioritization order oftypes of content to be downloaded prior to a dead spot. For example, auser can configure content prefetching program 104 to prioritize textover images and images over videos when deciding what content toprefetch in anticipation of a dead spot. In addition, a user can specifycertain types of undesired content which they do not want to have duringa dead spot (e.g., advertisements and large images, such as those largerthan 10 MB in size, for example) which can be replaced with generic,default placeholder data (such as a preloaded icon or image) and/or theycan select certain websites and/or applications for which content willnot be prefetched. Any features, variations to operation and/or userpreferences described herein can be manually set in a provided userinterface (UI) module, as will be discussed subsequently.

FIG. 2 is a flowchart 200 depicting operational steps of contentprefetching program 104, in accordance with an embodiment of the presentinvention. Predictive modeling subsystem 110, at block 202,simultaneously monitors both historical cellular service data andhistorical application and/or content usage data on computing device 102and these data are analyzed by predictive modeling subsystem 110, atblock 204, to form a predictive model that can extrapolate when on agiven day a dead spot will be entered, how long a user will remain inthe dead spot and what content they will request during that time in thedead spot. The predictive model also decides how far ahead of time,prior to a predicted dead spot being entered, the content must begindownloading in order to download the appropriate amount of content, allof which can be based on the predicted user requests and predictedduration of the dead spot. Predictive modeling subsystem 110 sendsinformation associated with the predictive model to content managementsubsystem 112 which, at block 206, downloads, prior to entering the deadspot, the appropriate type and quantity of content to be stored in localmemory on computing device 102. When content management subsystem 112detects that computing device 102 is out of the dead spot and hasregained cellular service, the content downloaded to local memory isdeleted automatically, at block 208. After the downloaded content isdeleted, embodiments continue to monitor, at block 202, historicalservice data and device usage data.

It should be understood that predictive modeling subsystem 110 can be anintelligent learning system wherein usage statistics and data pertainingto how a user interacted with their mobile device while in a dead spotare gathered and analyzed to refine the quality of predictions. Forexample, if an analysis of the usage statistics reveals the user isrequesting more content than has been previously downloaded prior toentering a dead spot, embodiments can, for example, automaticallyincrease the amount of content that is prefetched and/or automaticallyincrease the amount of time before a predicted dead spot that theprefetching begins in the future. Alternatively, if the analysis revealsthat a greater amount content has been previously downloaded than wasrequested by the user in a dead spot, the amount of content that isprefetched can be automatically adjusted to be less, minimizing excessdata consumption in the future. Further, if the type of content that isbeing prefetched is not being requested by the user in a dead spot,whereas the analysis reveals they are historically requesting differentcontent instead, embodiments can make automatic adjustments topredictions wherein prefetched content is more relevant to what the userhistorically requests.

An analysis of historical device usage and service disruptions can bebased on a predetermined criteria, which can be user configured. As anillustrative example according to one embodiment, a history of servicedisruptions and device usage can be formed based on an analysis of datarelated to service disruptions and device usage from the past week(i.e., seven days) and further based on an analysis of data related todevice usage within ten minutes prior to a service disruption and duringthe duration of the service disruption (from within the past sevendays).

Content prefetching program 104 can provide a UI module that allows auser to manually control settings related to its operation. A user canset a policy wherein the settings and/or user preferences that can beadjusted can include, but are not limited to, options related to contentpre-fetching, content storage, removal of downloaded content, placeholder data and decisions made automatically by the intelligent learningsystem of predictive modeling subsystem 110.

In some embodiments, suggestions associated with the configuring ofsettings can be generated by predictive modeling subsystem 110 andpresented to the user of computing device 102. As an example, if theuser is trying to browse content which has not been prefetched while ina dead spot, a suggestion can be made that the user instead exploreother available content that has been prefetched. Additionally, if ananalysis of historical content usage data reveals that certain types ofcontent are being prefetched which are not requested by the user, suchas videos for one example, a suggestion can be presented to the userthat they manually configure the types of content which are not to beprefetched, i.e., videos for this example. These examples are meant tobe illustrative with regard to possible suggestions that can begenerated and are not intended to be restrictive or limiting in anymanner.

It is also noteworthy that embodiments of the present invention can workin conjunction with other applications and/or services to makepredictions related to service disruptions. Some examples of suchapplications and/or services can include, but are not limited to, mapapplications with GPS functionality, an internet browser, a map ofnetwork dead spots, social media applications, weather applications,traffic applications and/or information pertaining to planned outages ofutilities for a local area. Any of these applications and/or servicescan be internet based and/or make use of a GPS service. As anillustrative example, if predictive modeling subsystem 110 detects,based on communications with a map application with GPS functionality(that is tracking the location of computing device 102) and an analysisof a map of network dead spots, that computing device 102 is projectedto be entering a dead spot, predictive modeling subsystem 110 can beginmaking decisions, as previously discussed, related to the prefetching ofcontent.

It should also be noted that in a further aspect according to someembodiments, a peer to peer network capability (based on a predeterminedcriteria) can be embodied, wherein computing device 102 can use anotherusers mobile device to make requests for content during a servicedisruption, provided that the other user still has access to cellularservice during the service disruption and has agreed to enable such acapability on their device. This peer to peer networking capability canbe another configurable option provided by the UI module previouslydiscussed and can be used either prior to or during a dead spot providedthat the other user has service when the requests are made.

Turning to FIG. 3, an example use case 300 of content prefetchingprogram 104 is presented, in accordance with an embodiment of thepresent invention. Example use case 300 is a graphic depiction of thedaily commute of a mobile device (i.e., computing device 102) user whoexperiences a cellular service outage everyday due to a network deadspot occurring along the route. The user boards 302 a subway at 7 A.M.every morning to go to work, Monday through Friday, and the subway routehas a network dead spot occurring along it, due to the subway goingthrough a tunnel. Based on an analysis of historical service data anddevice usage on computing device 102, which are associated with theusers normal morning routine, predictive modeling subsystem 110 hasformed a predictive model and determines that cellular service will belost at approximately 7:15 A.M. and therefore begins prefetching thecontent, which the user is predicted to request, at 7:10 A.M., fiveminutes before service is lost 304. Cellular service on computing device102 is lost 306 at 7:15 A.M. and the user has access to prefetchedcontent such as, for example, email and business applications, whichthey would normally request at this time before heading into work. Theuser arrives 308 at their destination at 7:35 A.M., is now out of thedead spot and has regained network access. Accordingly, any prefetchedcontent is automatically deleted from local memory on computing device102, unless content prefetching program 104 has been otherwiseconfigured by the user.

FIG. 4 depicts a block diagram 400 of components of computing device102, in accordance with an illustrative embodiment of the presentinvention. It should be appreciated that FIG. 4 provides only anillustration of one implementation and does not imply any limitationswith regard to the environments in which different embodiments may beimplemented. Many modifications to the depicted environment may be made.

Computing device 102 includes communications fabric 402, which providescommunications between cache 416, memory 406, persistent storage 408,communications unit 410, and input/output (I/O) interface(s) 412.Communications fabric 402 can be implemented with any architecturedesigned for passing data and/or control information between processors(such as microprocessors, communications and network processors, etc.),system memory, peripheral devices, and any other hardware componentswithin a system. For example, communications fabric 402 can beimplemented with one or more buses or a crossbar switch.

Memory 406 and persistent storage 408 are computer readable storagemedia. In this embodiment, memory 406 includes random access memory(RAM). In general, memory 406 can include any suitable volatile ornon-volatile computer readable storage media. Cache 416 is a fast memorythat enhances the performance of computer processor(s) 404 by holdingrecently accessed data, and data near accessed data, from memory 406.

Content prefetching program 104 may be stored in persistent storage 408and in memory 406 for execution by one or more of the respectivecomputer processors 404 via cache 416. In an embodiment, persistentstorage 408 includes a magnetic hard disk drive. Alternatively, or inaddition to a magnetic hard disk drive, persistent storage 408 caninclude a solid state hard drive, a semiconductor storage device,read-only memory (ROM), erasable programmable read-only memory (EPROM),flash memory, or any other computer readable storage media that iscapable of storing program instructions or digital information.

The media used by persistent storage 408 may also be removable. Forexample, a removable hard drive may be used for persistent storage 408.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage408.

Communications unit 410, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 410 includes one or more network interface cards.Communications unit 410 may provide communications through the use ofeither or both physical and wireless communications links. Contentprefetching program 104 may be downloaded to persistent storage 408through communications unit 410.

I/O interface(s) 412 allows for input and output of data with otherdevices that may be connected to computing device 102. For example, I/Ointerface 412 may provide a connection to external devices 418 such as akeyboard, keypad, a touch screen, and/or some other suitable inputdevice. External devices 418 can also include portable computer readablestorage media such as, for example, thumb drives, portable optical ormagnetic disks, and memory cards. Software and data used to practiceembodiments of the present invention, e.g., content prefetching program104, can be stored on such portable computer readable storage media andcan be loaded onto persistent storage 408 via I/O interface(s) 412. I/Ointerface(s) 412 also connect to a display 420.

Display 420 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. A method for downloading content to a mobiledevice based on predicted service disruptions, the method comprising:monitoring usage of a mobile device to form a history of usage anddisruptions to a wireless service based on a user routine; generating apredictive model based on the history of usage and disruptions to thewireless service; utilizing the predictive model to identify one or moretypes and a quantity of content to download before a predicted servicedisruption; downloading the content to the mobile device before thepredicted service disruption; and providing a user interface for a userto manually configure one or more settings wherein the one or moresettings comprise options associated with content pre-fetching, contentstorage, removal of downloaded content, place holder data and decisionsmade by an intelligent learning system; wherein a user can selectcontent not to be downloaded before a predicted service disruption,wherein the selected content is at least one of content associated witha web page and content associated with a mobile application.
 2. Themethod of claim 1, wherein the wireless service is at least one of acellular network and a Wi-Fi network.
 3. The method of claim 1, whereinthe content is at least one of text, images, videos, style sheets,JavaScript, documents and e-books.
 4. The method of claim 1, whereingeneric placeholder data is used in place of undesired content.
 5. Themethod of claim 1, wherein a user can configure a prioritization orderof types of content to be downloaded.
 6. A computer program product fordownloading content to a mobile device based on predicted servicedisruptions, the computer program product comprising: one or morenon-transitory computer readable storage media and program instructionsstored on the one or more non-transitory computer readable storagemedia, the program instructions comprising: program instructions tomonitor usage of a mobile device to form a history of usage anddisruptions to a wireless service based on a user routine; programinstructions to generate a predictive model based on the history ofusage and disruptions to the wireless service; program instructions toutilize the predictive model to identify one or more types and aquantity of content to download before a predicted service disruption;program instructions to download the content to the mobile device beforethe predicted service disruption; and program instructions to provide auser interface for a user to manually configure one or more settingswherein the one or more settings comprise options associated withcontent pre-fetching, content storage, removal of downloaded content,place holder data and decisions made by an intelligent learning system;wherein a user can select content not to be downloaded before apredicted service disruption, wherein the selected content is at leastone of content associated with a web page and content associated with amobile application.
 7. The computer program product of claim 6, whereinthe wireless service is at least one of a cellular network and a Wi-Finetwork.
 8. The computer program product of claim 6, wherein the contentis at least one of text, images, videos, style sheets, JavaScript,documents and e-books.
 9. The computer program product of claim 6,wherein generic placeholder data is used in place of undesired content.10. The computer program product of claim 6, wherein a user canconfigure a prioritization order of types of content to be downloaded.11. A computer system for downloading content to a mobile device basedon predicted service disruptions, the computer system comprising: one ormore computer processors; one or more computer readable storage media;program instructions stored on the one or more computer readable storagemedia for execution by at least one of the one or more processors, theprogram instructions comprising: program instructions to monitor usageof a mobile device to form a history of usage and disruptions to awireless service based on a user routine; program instructions togenerate a predictive model based on the history of usage anddisruptions to the wireless service; program instructions to utilize thepredictive model to idetify one or more types and quantity of content todownload before a predicted service disruption; program instructions todownload the content to the mobile device before the predicted servicedisruption; and program instructions to provide a user interface for auser to manually configure one or more settings wherein the one or moresettings comprise options associated with content pre-fetching, contentstorage, removal of downloaded content, place holder data and decisionsmade by an intelligent learning system; wherein a user can selectcontent not to be downloaded before a predicted service disruption,wherein the selected content is at least one of content associated witha web page and content associated with a mobile application.
 12. Thecomputer system of claim 11, wherein the wireless service is at leastone of a cellular network and a Wi-Fi network.
 13. The computer systemof claim 11, wherein the content is at least one of text, images,videos, style sheets, JavaScript, documents and e-books.
 14. Thecomputer system of claim 11, wherein generic placeholder data is used inplace of undesired content.
 15. The computer system of claim 11, whereina user can configure a prioritization order of types of content to bedownloaded.